.\" $OpenBSD: FvwmRearrange.1,v 1.1.1.1 2006/11/26 10:53:53 matthieu Exp $
.\" t
.\" @(#)FvwmRearrange.1  11/9/98
.de EX		\"Begin example
.ne 5
.if n .sp 1
.if t .sp .5
.nf
.in +.5i
..
.de EE
.fi
.in -.5i
.if n .sp 1
.if t .sp .5
..
.TH FvwmRearrange 1 "November 9, 1998" "FvwmRearrange 1.0" "FvwmRearrange 1.0"
.UC
.SH NAME
FvwmRearrange \- rearrange FVWM windows
.SH SYNOPSIS
FvwmRearrange is spawned by fvwm, so no command line invocation will work.

.SH DESCRIPTION
This module can be called to tile or cascade windows.

When tiling the module attempts to tile windows on the current screen
subject to certain constraints.  Horizontal or vertical tiling is performed
so that each window does not overlap another, and by default each window
is resized to its nearest resize increment (note sometimes some space
might appear between tiled windows -- this is why).

When cascading the module attempts to cascade windows on the current screen
subject to certain constraints.  Layering is performed so consecutive
windows will have their window titles visible underneath the previous.

.SH INVOCATION
FvwmRearrange is best invoked from a menu, popup or button.  There are a
number of command line options which can be used to constrain the
layering, these are described below.  As an example case, one could
call FvwmRearrange with the following arguments:
.EX
FvwmRearrange -tile -h 10 10 90 90
.EE
or
.EX
FvwmRearrange -cascade \-resize 10 2 80 70
.EE

The first invocation will horizontally tile windows with a bounding box
which starts at 10 by 10 percent into and down the screen and ends at
90 by 90 percent into and down the screen.

The second invocation will cascade windows starting 10 by 2 percent into and
down the screen.  Windows will be constrained to 80 by 70 percent of
the screen dimensions.  Since the \fIresize\fP is also specified,
windows will be resized to the given constrained width and height.

FvwmRearrange can be called as FvwmTile or FvwmCascade. This is equivalent
to providing the -tile or -cascade option. This form is obsolete and
supplied for backwards compatibility only.

Command-line arguments passed to FvwmRearrange are described here.
.IP \-a
Causes \fIall\fP window styles to be affected, even ones with the
WindowListSkip style.
.IP \-cascade
Cascade windows. This argument must be the first on the command line.
This is the default.
.IP \-desk
Causes all windows on the desk to be cascaded/tiled instead of the
current screen only.
.IP \-flatx
Inhibits border width increment. Only used when cascading.
.IP \-flaty
Inhibits border height increment. Only used when cascading.
.IP \-h
Tiles horizontally (default is to tile vertically). Used for tiling only.
.IP "\-incx \fIarg\fP"
Specifies a horizontal increment which is successively added to
cascaded windows.  \fIarg\fP is a percentage of screen width, or pixel
value if a \fIp\fP is suffixed.  Default is zero. Used only for cascading.
.IP "\-incy \fIarg\fP"
Specifies a vertical increment which is successively added to cascaded
windows.  \fIarg\fP is a percentage of screen height, or pixel value
if a \fIp\fP is suffixed.  Default is zero. Used only for cascading.

.IP \-m
Causes maximized windows to also be affected (implied by \-all).
.IP "\-mn \fIarg\fP"
Tiles up to \fIarg\fP windows in tile direction.  If more windows
exist, a new direction row or column is created (in effect, a matrix
is created). Used only when tiling windows.
.IP \-noraise
Inhibits window raising, leaving the depth ordering intact.
.IP \-noresize
Inhibits window resizing, leaving window sizes intact. This is the default
when cascading windows.
.IP \-nostretch
If tiling: inhibits window growth to fit tile.  Windows are shrunk to fit the
tile but not expanded.

If cascading: inhibits window expansion when using the \-resize option.  Windows
will only shrink to fit the maximal width and height (if given).
.IP \-r
Reverses the window sequence.
.IP \-resize
Forces all windows to resize to the constrained width and height (if
given). This is the default when tiling windows.
.IP \-s
Causes sticky windows to also be affected (implied by \-all).
.IP \-t
Causes transient windows to also be affected (implied by \-all).
.IP \-tile
Tile windows. This argument must be the first on the command line.
.IP \-u
Causes untitled windows to also be affected (implied by \-all).

Up to four numbers can be placed on the command line that are not
switches.  The first pair specify an x and y offset to start the first
window (default is 0, 0).
The meaning of the second pair depends on operation mode:

When tiling windows it specifies an absolute coordinate reference
denoting the lower right bounding box for tiling.

When cascading it specifies a maximal width and height for the layered
windows. If an affected window exceeds either this width or height, it
is resized to the maximal width or height.

If any number is suffixed with the letter p, then it is taken to be a
pixel value, otherwise it is interpreted as a screen percentage.
Specifying zero for any parameter is equivalent to not specifying it.

.SH BUGS
It is probably not a good idea to delete windows while windows are
being rearranged.

.SH AUTHORS
Andrew Veliath (original FvwmTile and FvwmCascade modules)
Dominik Vogt (merged FvwmTile and FvwmCascade to FvwmRearrange)
